@echo off
title 在Android模拟器上运行APK

echo ========================================
echo    在Android模拟器上运行APK
echo ========================================
echo.

echo 步骤1: 检查APK文件
if exist "app\build\outputs\apk\debug\app-debug.apk" (
    echo ✅ 找到APK文件: app-debug.apk
    for %%i in (app\build\outputs\apk\debug\app-debug.apk) do echo    文件大小: %%~zi 字节
) else (
    echo ❌ APK文件不存在，请先编译项目
    echo 运行: ./gradlew assembleDebug
    pause
    exit /b 1
)

echo.
echo 步骤2: 启动ADB服务
echo 正在启动ADB服务...

REM 尝试找到ADB路径
set ADB_PATH=""
if exist "%ANDROID_HOME%\platform-tools\adb.exe" (
    set ADB_PATH="%ANDROID_HOME%\platform-tools\adb.exe"
) else if exist "%LOCALAPPDATA%\Android\Sdk\platform-tools\adb.exe" (
    set ADB_PATH="%LOCALAPPDATA%\Android\Sdk\platform-tools\adb.exe"
) else if exist "C:\Android\Sdk\platform-tools\adb.exe" (
    set ADB_PATH="C:\Android\Sdk\platform-tools\adb.exe"
) else (
    echo ❌ 找不到ADB工具，请检查Android SDK安装
    echo 请确保Android SDK已正确安装
    pause
    exit /b 1
)

echo ✅ 找到ADB: %ADB_PATH%

REM 启动ADB服务
%ADB_PATH% start-server

echo.
echo 步骤3: 检查连接的设备
echo 正在检查连接的设备...

%ADB_PATH% devices

echo.
echo 步骤4: 等待设备连接
echo 请确保Android模拟器正在运行...
echo 如果没有模拟器在运行，请在Android Studio中启动模拟器
echo.

:wait_for_device
%ADB_PATH% wait-for-device
echo ✅ 检测到设备连接

echo.
echo 步骤5: 卸载旧版本应用（如果存在）
echo 正在卸载旧版本...

%ADB_PATH% uninstall com.example.myapplication >nul 2>&1
echo ✅ 旧版本清理完成

echo.
echo 步骤6: 安装新APK
echo 正在安装APK到模拟器...

%ADB_PATH% install app\build\outputs\apk\debug\app-debug.apk

if %errorlevel% equ 0 (
    echo ✅ APK安装成功
) else (
    echo ❌ APK安装失败
    echo 请检查模拟器状态和APK文件
    pause
    exit /b 1
)

echo.
echo 步骤7: 启动应用
echo 正在启动应用...

%ADB_PATH% shell am start -n com.example.myapplication/.LoginActivity

if %errorlevel% equ 0 (
    echo ✅ 应用启动成功
) else (
    echo ❌ 应用启动失败，尝试手动启动
    echo 请在模拟器中找到应用图标并点击启动
)

echo.
echo 步骤8: 显示应用信息
echo 应用包名: com.example.myapplication
echo 主活动: LoginActivity
echo APK位置: app\build\outputs\apk\debug\app-debug.apk
echo.

echo 步骤9: 连接信息
echo WebSocket服务器: ws://8.140.59.178:8080
echo 模拟器会自动使用10.0.2.2:8080作为本地地址映射
echo 但现在默认使用阿里云ECS服务器地址
echo.

echo ========================================
echo           运行完成！
echo ========================================
echo.
echo 🎉 应用已在模拟器上运行！
echo.
echo 测试步骤:
echo 1. 在模拟器中打开应用
echo 2. 注册或登录账户
echo 3. 测试实时通信功能
echo 4. 检查与阿里云ECS服务器的连接
echo.
echo 调试命令:
echo - 查看日志: %ADB_PATH% logcat -s MyApplication
echo - 查看应用状态: %ADB_PATH% shell dumpsys package com.example.myapplication
echo.
pause 